home *** CD-ROM | disk | FTP | other *** search
/ GFX Sensations 1 / Graphic Sensations - Volume 1.iso / tools / amiga / 3d_tools / irit40s.lha / Irit / amigalib / stderrfx.c < prev   
Encoding:
C/C++ Source or Header  |  1993-12-30  |  814 b   |  32 lines

  1. #ifdef __GNUC__
  2.  
  3. /******************************************************************************
  4. * The Amiga port of gcc relies on the shell defining a stderr stream that is  *
  5. * different from stdout. Unfortunately, few shells do so, resulting in total  *
  6. * chaos. This little kludge will wedge itself between the C startup code and  *
  7. * main(), redefining stderr to be a stream that is separate from stdout.      *
  8. ******************************************************************************/
  9.  
  10. #include <stdio.h>
  11.  
  12. static FILE *oldstderr;
  13.  
  14. static void
  15. restorestderr(void)
  16. {
  17.     fclose(stderr);
  18.     stderr = oldstderr;
  19. }
  20.  
  21. int
  22. main(int argc, char **argv, char **env)
  23. {
  24.     oldstderr = stderr;
  25.     stderr = fopen("*", "w+");
  26.     atexit(restorestderr);
  27.  
  28.     return mymain(argc, argv, env);
  29. }
  30.  
  31. #endif /* __GNUC__ */
  32.